// void, Obj This, point pt

Hero this;
Obj target;

Sleep(rand(10)+30);
this = This.AsHero();

.FormSetupAndMoveTo(pt, 0, 0, true);
while(.HasPath())
{
	target = .BestNoIndependentTargetInSquadSight();
	if (target.IsValid())
		if (target.pos.Dist(pt) < .sight/2)
		{
			Sleep(rand(100)+100);
			.AddCommand(true, "advance", pt);
			return;
		} else if (.AI) if (target.player < 9) if (.IsValidTarget(target)) if (target.attack > 0) {
			Sleep(rand(100)+100);
			.AddCommand(true, "sneak", pt);
			.AddCommand(true, "engage");
			return;
		}
	.FormKeepMoving (1500);
}
